﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using myFinance.BLL;

namespace myFinance.Models.ViewModels
{
    public class ContaViewModel
    {        
        public int Id { get; set; }
        public int CodRef { get; set; }
        public DateTime DataCadastro { get; set; }
        public DateTime DataVencimento { get; set; }
        public string Descricao { get; set; }		
        public string Parcelas { get; set; }
        public int Entrada { get; set; }
        public decimal Valor { get; set; }
        public bool Fechado { get; set; }

        public List<ContaViewModel> Listar(string username, int mes, int ano, bool tipoData)
        {
            var lista = ContaBll.GetLista(username, mes, ano, tipoData);
            var dados = (from c in lista
                         select new
                         {
                             Id = c.Id,
                             CodRef = c.CodigoReferencia,
                             DataCadastro = c.DataCadastro,
                             DataVencimento = c.DataVencimento,
                             Descricao = c.Descricao,
                             Parcelas = c.Parcela + "/" + c.Parcelas,
                             IdContaPrincipal = c.IdContaPrincipal,
                             Entrada = c.Entrada,
                             Valor = c.Valor,
                             Fechado = c.Quitada
                         }).ToList().Select(s => new ContaViewModel
                       {
                           Id = s.Id,
                           CodRef = s.CodRef,
                           DataCadastro = s.DataCadastro,
                           DataVencimento = s.DataVencimento,
                           Descricao = s.Descricao,
                           Parcelas = s.Parcelas,
                           Entrada = s.Entrada,
                           Valor = s.Valor,
                           Fechado = s.Fechado
                       }).ToList();
            return dados;
        }
    }
}